
import java.io.Serializable;

public class Musica implements Serializable {

    private long id;//PK 8 bytes
    private long ponteiroProximo; //8 bytes
    private String nome; // 80 bytes 
    private String artista; // 80 bytes
    private String formato; // 80 bytes
    private long duracao;//em segundos // 8 bytes
    private long tamanho;//em Kbytes // 8 bytes
    // Total = 272 bytes

    public Musica() {
        this(0, "", "", "", 0, 0);
    }
    
    public Musica(long id, String nome, String artista, String formato, long duracao, long tamanho) {
        setId(id);
        setArtista(artista);
        setDuracao(duracao);
        setFormato(formato);
        setNome(nome);
        setTamanho(tamanho);
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }
    
    public long getPonteiroProximo() {
        return ponteiroProximo;
    }
    
    public void setPonteiroProximo(long ponteiroProximo) {
        this.ponteiroProximo = ponteiroProximo;
    }
    
    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getArtista() {
        return artista;
    }

    public void setArtista(String artista) {
        this.artista = artista;
    }

    public String getFormato() {
        return formato;
    }

    public void setFormato(String formato) {
        this.formato = formato;
    }

    public long getDuracao() {
        return duracao;
    }

    public void setDuracao(long duracao) {
        this.duracao = duracao;
    }

    public long getTamanho() {
        return tamanho;
    }

    public void setTamanho(long tamanho) {
        this.tamanho = tamanho;
    }

    public String toStringDados() {
        return "Nome: " + getNome()
                + "\nArtista: " + getArtista()
                + "\nFormato: " + getFormato()
                + "\nDuracao: " + getDuracao()
                + "\nTamanho: " + getTamanho();
    }
    
    public String toStringPonteiros() {
          return "Id: " + getId()
                + "\nNome: " + getNome()
                + "\nArtista: " + getArtista()
                + "\nFormato: " + getFormato()
                + "\nDuracao: " + getDuracao()
                + "\nTamanho: " + getTamanho()
                + "\nProximo: " + getPonteiroProximo();
    }
}
